/**
 * Copyright (c) 2009-2012 XTEAM
 * All rights reserved.
 */
/**
 * File：FileObject.java
 * History:
 *         2012-5-17: Initially created, Chrise.
 */
package com.xteam.ecsystem.base;

import java.io.Serializable;

/**
 * 文件对象。
 * @author Chrise
 */
public class FileObject implements Serializable {
	
	private static final long serialVersionUID = 5071711239522721207L;
	
	private String path;
	private String name;
	private String parent;
	private String type;
	private String size;
	private String last;
	private boolean expanded;
	
	/**
	 * 文件对象构造方法。
	 */
	public FileObject() {
		this("", "", "");
	}
	
	/**
	 * 文件对象构造方法。
	 * @param path
	 * @param name
	 * @param parent
	 */
	public FileObject(String path, String name, String parent) {
		this.path = path;
		this.name = name;
		this.parent = parent;
		this.type = "";
		this.size = "";
		this.last = "";
		this.expanded = false;
	}
	
	/**
	 * 获取文件路径。
	 * @author Chrise 2012-5-17
	 * @return
	 */
	public String getPath() {
		return path;
	}
	
	/**
	 * 设置文件路径。
	 * @author Chrise 2012-5-17
	 * @param path
	 */
	public void setPath(String path) {
		this.path = path;
	}
	
	/**
	 * 获取文件名称。
	 * @author Chrise 2012-5-17
	 * @return
	 */
	public String getName() {
		return name;
	}
	
	/**
	 * 设置文件名称。
	 * @author Chrise 2012-5-17
	 * @param name
	 */
	public void setName(String name) {
		this.name = name;
	}
	
	/**
	 * 获取父级路径。
	 * @author Chrise 2012-5-17
	 * @return
	 */
	public String getParent() {
		return parent;
	}
	
	/**
	 * 设置父级路径。
	 * @author Chrise 2012-5-17
	 * @param parent
	 */
	public void setParent(String parent) {
		this.parent = parent;
	}
	
	/**
	 * 获取文件类型。
	 * @author Chrise 2012-5-23
	 * @return
	 */
	public String getType() {
		return type;
	}
	
	/**
	 * 设置文件类型。
	 * @author Chrise 2012-5-23
	 * @param type
	 */
	public void setType(String type) {
		this.type = type;
	}
	
	/**
	 * 获取文件大小。
	 * @author Chrise 2012-5-23
	 * @return
	 */
	public String getSize() {
		return size;
	}
	
	/**
	 * 设置文件大小。
	 * @author Chrise 2012-5-23
	 * @param size
	 */
	public void setSize(String size) {
		this.size = size;
	}
	
	/**
	 * 获取最后修改时间。
	 * @author Chrise 2012-5-23
	 * @return
	 */
	public String getLast() {
		return last;
	}
	
	/**
	 * 设置最后修改时间。
	 * @author Chrise 2012-5-23
	 * @param last
	 */
	public void setLast(String last) {
		this.last = last;
	}
	
	/**
	 * 节点是否展开。
	 * @author Chrise 2012-5-21
	 * @return
	 */
	public boolean isExpanded() {
		return expanded;
	}
	
	/**
	 * 设置节点是否展开。
	 * @author Chrise 2012-5-21
	 * @param expanded
	 */
	public void setExpanded(boolean expanded) {
		this.expanded = expanded;
	}
	
	/**
	 * 转换成JSON字符串。
	 * @author Chrise 2012-5-17
	 * @return
	 */
	public String toJson() {
		return "{path:'" + path + "', name:'" + name + "', parent:'" + parent + "', " + 
			   "type:'" + type + "', size:'" + size + "', last:'" + last + "', " + 
			   "expanded:'" + expanded + "'}";
	}
	
	/**
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return "{path=" + path + ", name=" + name + ", parent=" + parent + ", " + 
			   "type=" + type + ", size=" + size + ", last=" + last + ", " + 
			   "expanded=" + expanded + "}";
	}
}
